/*
 *  Copyright (c) M2TK Project. All rights reserved.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package m2tk.assistant.common.domain;

import java.time.OffsetDateTime;
import java.util.Objects;

public class SIEvent
{
    private int id;

    private String title;
    private String description;
    private String languageCode;
    private OffsetDateTime startTime;
    private int duration;
    private int runningStatus;
    private boolean freeAccess;
    private boolean presentEvent;
    private boolean scheduleEvent;

    private int transportStreamId;
    private int originalNetworkId;
    private int serviceId;
    private int eventId;

    private int referenceServiceId;
    private int referenceEventId;
    private boolean nvodTimeShiftedEvent;

    @Override
    public boolean equals(Object o)
    {
        if (o == null || getClass() != o.getClass()) return false;
        SIEvent siEvent = (SIEvent) o;
        return id == siEvent.id;
    }

    @Override
    public int hashCode()
    {
        return Objects.hashCode(id);
    }

    public int getId()
    {
        return id;
    }

    public void setId(int id)
    {
        this.id = id;
    }

    public String getTitle()
    {
        return title;
    }

    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getDescription()
    {
        return description;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getLanguageCode()
    {
        return languageCode;
    }

    public void setLanguageCode(String languageCode)
    {
        this.languageCode = languageCode;
    }

    public OffsetDateTime getStartTime()
    {
        return startTime;
    }

    public void setStartTime(OffsetDateTime startTime)
    {
        this.startTime = startTime;
    }

    public int getDuration()
    {
        return duration;
    }

    public void setDuration(int duration)
    {
        this.duration = duration;
    }

    public int getRunningStatus()
    {
        return runningStatus;
    }

    public void setRunningStatus(int runningStatus)
    {
        this.runningStatus = runningStatus;
    }

    public boolean isFreeAccess()
    {
        return freeAccess;
    }

    public void setFreeAccess(boolean freeAccess)
    {
        this.freeAccess = freeAccess;
    }

    public boolean isPresentEvent()
    {
        return presentEvent;
    }

    public void setPresentEvent(boolean presentEvent)
    {
        this.presentEvent = presentEvent;
    }

    public boolean isScheduleEvent()
    {
        return scheduleEvent;
    }

    public void setScheduleEvent(boolean scheduleEvent)
    {
        this.scheduleEvent = scheduleEvent;
    }

    public int getTransportStreamId()
    {
        return transportStreamId;
    }

    public void setTransportStreamId(int transportStreamId)
    {
        this.transportStreamId = transportStreamId;
    }

    public int getOriginalNetworkId()
    {
        return originalNetworkId;
    }

    public void setOriginalNetworkId(int originalNetworkId)
    {
        this.originalNetworkId = originalNetworkId;
    }

    public int getServiceId()
    {
        return serviceId;
    }

    public void setServiceId(int serviceId)
    {
        this.serviceId = serviceId;
    }

    public int getEventId()
    {
        return eventId;
    }

    public void setEventId(int eventId)
    {
        this.eventId = eventId;
    }

    public int getReferenceServiceId()
    {
        return referenceServiceId;
    }

    public void setReferenceServiceId(int referenceServiceId)
    {
        this.referenceServiceId = referenceServiceId;
    }

    public int getReferenceEventId()
    {
        return referenceEventId;
    }

    public void setReferenceEventId(int referenceEventId)
    {
        this.referenceEventId = referenceEventId;
    }

    public boolean isNvodTimeShiftedEvent()
    {
        return nvodTimeShiftedEvent;
    }

    public void setNvodTimeShiftedEvent(boolean nvodTimeShiftedEvent)
    {
        this.nvodTimeShiftedEvent = nvodTimeShiftedEvent;
    }
}
